home *** CD-ROM | disk | FTP | other *** search
/ Lexis Nexis Millenium Plus Collection 1997 to 1997 / Lexis-Nexis Millenium Plus Collection - 1996-97 (Lexis-Nexis)(LA1173-0 07-96)(1996).bin / pc / products / elevid95 / uninstal.inf < prev    next >
Text File  |  1996-08-12  |  27KB  |  917 lines

  1. DefineVariables
  2. Text [Product_ID]    ;;:= 001-0004-2-F96A
  3. Text [Product_Name] ;;:= Legal Research Guide: Patterns and Practice, Second Ed., 1990; Bonita K. Roberts, St. Mary's University School of Law; Linda L. Schlueter, Esq.
  4. Text [Version_Number] ;;:= F96A
  5. Text [Default_Program_Group] ;;:= Emanuel Legal Education
  6. Text [Default_Directory_Name] ;;:= \ln-edu\etm
  7. Text [Infobase_Title] ;;:= Legal Research Guide
  8. Text [Icon_Name] ;;:= Legal Research Guide
  9. Text [Infobase_File_Name] ;;:= RBRTSRW.NFO
  10. Text [Shadow_File_Name] ;;:= RBRTSRW.SDW
  11. Text [LDF_File_Name] ;;:= RBRTSRW.LDF
  12. Text [Price] ;;:= 19.95
  13. Text [Dial_Number] ;;:= 880-6947
  14. Text [Support_Number] := 888-TECH-ELO   ;; keep this here for uninstaller
  15. Text [Disk_Space_Required] ;;:= 0
  16.  
  17.  
  18. ;; Begin Procedure Definition Variables
  19. ;;
  20. Text [Reg_FName] := 
  21. Text [Reg_MName] := 
  22. Text [Reg_LName] := 
  23. Text [Reg_GradYear] := 
  24. Text [Reg_EMail] := 
  25. Text [Reg_Media] := 
  26. Text [Reg_CCNo] := 
  27. Text [Reg_ExpDate] := 
  28. Text [RegUpdate_Text] :=
  29. Text [Reg_IAttempt] := 
  30. Text [Reg_SchoolId] := 
  31. Text [Reg_Phone] := 
  32. Text [Reg_Zip] := 
  33. Text [Reg_State] := 
  34. Text [Reg_City] := 
  35. Text [Reg_Addr2] := 
  36. Text [Reg_Addr1] := 
  37. Text [Reg_LnId] :=
  38. Number [Reg_CBStore] := 0
  39.  
  40. Number [Product_Number]
  41.  
  42. Text [SysFile_Sver] :=
  43. Text [SysFile_Tver] :=
  44.  
  45. Text [Screen_Option]
  46. Text [User_Id]
  47. Text [User_Time]
  48. Text [User_Date]
  49. Number [User_Install]
  50. Text [User_Version]
  51. Text [ReInstall_File]
  52. Text [ReInstall_Dir]
  53.  
  54. Number [Products_Ptr]   := 0
  55. Number [Products_End]   := 0
  56. Number [Count_Num]      := 0
  57. Text   [Products_Match] := BlankString
  58.  
  59. Number [Total_QueSize]
  60. Number [FSPC_OnDrive]
  61. Number [FSPC_Needed]
  62. Text   [FSPC_Directory]
  63. Number [FSPC_Additional]
  64.  
  65. TextArray [Files]
  66. Number    [Files_Idx]
  67.  
  68. Number [Dialog_RcMain] := 0
  69. Text   [Dialog_FullInstallRc] := 
  70.  
  71. ;; Variables: FSPChk
  72. Text      [FSPChk_Options]    :=   
  73. Text      [FSPChk_DirCheck]   :=
  74. Text      [FSPChk_DirString]  := 
  75. Text      [FSPChk_Drive]      := 
  76. Text      [FSPChk_CurrentDir] := 
  77. Number    [FSPChk_Count1]     := 0
  78. Number    [FSPChk_FreeSpace]  := 0
  79. Number    [FSPChk_QueSize]    := 0
  80. Number    [FSPChk_Required]   := 0
  81. Number    [FSPChk_Rc]         :=    
  82. Number    [FSPChk_MaxIdx]     :=
  83. Number    [FSPChk_Count]      := 
  84. TextArray [FSPChk_MsgList] 
  85. TextArray [FSPChk_Dir]         
  86.  
  87. ;; Variables: ISysFilesB
  88. Text      [ISysFileB_Str1]     := 
  89. Text      [ISysFileB_Dir]      :=
  90. Text      [ISysFileB_TDir]     := 
  91. Text      [ISysFileB_BFile]    := 
  92. Text      [ISysFileB_Str2]     := 
  93. Text      [ISysFileB_Str3]     := 
  94. Number    [ISysFileB_InUseIdx] := 0
  95. Number    [ISysFilesB_Group]   := 0
  96. Number    [ISysFileB_Num1]     := 0
  97. Number    [ISysFileB_DialogRC] := 
  98. Number    [ISysFileB_Rc]       := 0
  99. TextArray [ISysFileB_InUse] 
  100. TextArray [ISysFileB_Names] 
  101.  
  102. ;; Variables: GetGroup
  103. TextArray [GetGroup_Name] 
  104. Number    [GetGroup_Idx] := 0
  105. Text      [GetGroup_Select] := 
  106. TextArray [GetGroup_Info] 
  107. Number    [GetGroup_InfoIdx]    := 0
  108. Text      [GetGroup_InputGrp] := 
  109. Text      [GetGroup_Input] := 
  110.  
  111. ;; Variables: ReadWrt
  112. TextArray [ReadWrt_Dir]              ;; Array list of Drive/Directories to check 
  113. Text      [ReadWrt_Options]   :=     ;; <All> - Checks all known drives for Read/Write access
  114. Number    [ReadWrt_Rc]        :=     ;; 0  = All drives have Read/Write access/or selected dir
  115.                                      ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  116. TextArray [ReadWrt_DirList]          ;; TextArray of Drive/Dirs not Read/Write
  117. Number    [ReadWrt_MaxIdx]    :=
  118. Number    [ReadWrt_Count]     := 
  119. Text      [ReadWrt_DirCheck]  :=
  120. Text      [ReadWrt_DirString] :=
  121.  
  122. ;; Variables: FSPCErr
  123. Number    [FSPCERR_Rc] := 0
  124.  
  125. ;; Variables: ReadWrtErr
  126. Number    [ReadWrtErr_Rc] := 0
  127.  
  128. ;; Variables: Parse
  129. Text      [Parse_Str]      :=              
  130. Text      [Parse_Text]     :=              
  131. Text      [Parse_Char]     :=              
  132. Number    [Parse_Count]    := 0            
  133. Number    [Parse_Len]      := 0            
  134. Number    [Parse_CharLen]  := 0           
  135. Number    [Parse_Pos1]     := 0           
  136. TextArray [Parse_Tokens]                     
  137.  
  138. Number [Dialog_SysFile] := 0
  139. Text [WinDir] :=
  140. Text [PassThru_Switch] :=
  141. Text [GetIPVL_Dir] :=
  142.  
  143. Text [Product_Version] := 
  144. Text [Product_CompanyName] := 
  145. Text [Product_DefaultGrp] := Emanuel Electronic Format
  146. Text [Product_DefaultDir] := C:\LNWin
  147. Text [System_StartTime] := 
  148. Text [System_CMDLine] := 
  149. Text [System_TempDir] := 
  150. Text [System_InstallType] :=
  151.  
  152. Text [PassThru_Switch1] :=
  153. TextArray [Product_List] 
  154. TextArray [Product_LstName] 
  155. TextArray [Product_LstSize] 
  156.  
  157. Number [Product_CB] := 0
  158. Number [Product_CB1] := 0
  159. TextArray [Product_LstCMDL] 
  160. Number [Product_Cnt1] := 0
  161.  
  162. TextArray [Schools_List] 
  163. Number    [Schools_Total] := 0
  164. Number    [Schools_Cnt1] := 0
  165. Text      [Schools_Text] := 
  166. Text      [Schools_Name] :=
  167.  
  168.  
  169. Number [Dialog_Rc] := 0
  170. Text [GetIdir_IDir] := 
  171. Number [GetIDir_TQueSize] := 0
  172. Number [UniSys311_Rc] := 0
  173. Text [GetGroup_DefaultGrp] := 
  174. TextArray [InUse_FileName] 
  175.  
  176.  
  177. TextArray [InUse_BackUpN] 
  178. TextArray [InUse_AppName] 
  179. Number [InUse_RC] := 0
  180. Text [ISysFileB_LogFile] := 
  181. Text [IICons_Group] := 
  182. TextArray [Views31Dirs] 
  183. Text [Views31IDir] := 
  184. Text [ScanIcons_ExePath] := 
  185. Text [ScanIcons_Text] := 
  186. Text [ScanIcons_Directory] :=
  187. Text [Disk_Space_sRequired] := 
  188. Text [Text_1] :=
  189. Number [GradYear_Beg] := 0
  190. Number [GradYear_End] := 0
  191. TextArray [GradYear_List] 
  192. Number [Reg_OSFRb] := 
  193. Number [Reg_NumOSFRb] := 0
  194.  
  195. Text [StrCheck_String] := 
  196. Text [StrCheck_Valid] := 
  197. Number [StrCheck_Cnt] := 0
  198. Number [StrCheck_Rc] := 0
  199. Text [StrCheck_Char] := 
  200. Number [StrCheck_Chk] := 0
  201. Text [StrCheck_Mask] := 
  202. Number [StrCheck_Len] := 0
  203. Number [RegUser_Count] := 0
  204. TextArray [RegUser_Data] 
  205. Number [RegUser_Idx] := 0
  206. Number [Schools_AddCnt] := 0
  207. Text [RegUser1_Back] := 
  208. Text [ByeBye_Desc] :=
  209. Text [ByeBye_Desc1] :=
  210. Text [Student_Code] := 
  211. Text [Sub_First] :=
  212. Text [Sub_Last] :=
  213. Text [SysDate] :=
  214. Text [SDate] :=
  215.  
  216. Number [Reg_CBLawReview] := 
  217. Number [Reg_CBLawReview1] := 
  218. Text [RegH_Addr1] := 
  219. Text [RegH_Addr2] := 
  220. Text [RegH_City] := 
  221. Text [RegH_State] := 
  222. Text [RegH_Zip] := 
  223. Text [RegH_Phone] :=
  224. Text [Last_Screen] :=
  225.  
  226. Number [Last_Reg_CBLawReview] := 0
  227. Number [Last_Reg_CBLawReview1] := 0
  228. Text [Last_Reg_GradYear] := 
  229. Number [Credit_Rc] := 0
  230. Text [Student_Info] :=
  231. Text [Str1] := 
  232. Text [Str2] :=
  233. Number [S_Count] := 0
  234. Text [S_Text] :=
  235. Number [Call_Rc] := 0
  236. Text [Reg_Member] := 
  237. Text [Reg_InstallOS] := 
  238. Text [Reg_SoftwareVer] := 
  239. Text [Reg_ProductId] := 
  240. Text [TS_text] :=
  241. Text [Err_Desc] := 
  242. Text [Err_Text] :=
  243. Number [Dll_LdError] := 0
  244. Number [LdError] := 0
  245. Text [Exp_Month] := 
  246. TextArray [Exp_MonthLst] 
  247. TextArray [Exp_YearLst] 
  248. Text [Exp_Year] :=
  249. Text [Product_File] := 
  250. Number [L_Check] := 0
  251. Text [T_Desc] := 
  252. Text [CC_Text] := 
  253. Text [PI_Text] := 
  254. Text [Ist_Text] := 
  255. Text [Reg_DialPrefix] :=
  256. Number [Start_Err] := 0
  257. Text [Reg_SchoolIdX] :=
  258. Text [Price_Desc] := 
  259. Text [Price_Total] :=
  260. Text [Price_Return] := 
  261. Text [Dial_Prefix] :=
  262. Text [Reg_CBLawReview1Yn] := 
  263. Text [Reg_CBLawReviewYn] :=
  264. Text [Reg_CBLawReviewYn1] := 
  265. Text [C_Dir] := 
  266. Text [T_Dir] :=
  267. Number [KeySize] := 0
  268. Number [Error] := 0
  269. Text [Cat_Select] :=
  270. Number [BStr_Count] := 0
  271. Text [CMD_Line] :=
  272. Text [Install_Type] := 
  273. Number [Dialog_RbBookStore] := 0
  274. Number [Dialog_RbRStudent] := 0
  275. Text [BkSt_Code] := 
  276. Text [BkSt_Name] := 
  277. Text [SRef_Code] := 
  278. Text [SRef_Name] := 
  279. Text [SRef_School] := 
  280. Text [SRef_GradYear] :=
  281. Text [Scr_Disabled] := 
  282. Number [Dialog_RbYesNo] := 2
  283. Number [Dialog_RbYesNo1] := 2
  284. Text [Demo_Infobase_Title] := 
  285. Text [Demo_Infobase_File_Name] := 
  286. Text [ExeName] :=
  287. Text [Install_BViews] := 
  288. Text [System_Reboot] := 
  289.  
  290. Text [AddVshare_Installed] :=
  291. Number [AddVShare_FSize] := 0
  292. Number [AddVShare_SecLine] := 0
  293. TextArray [AddVShare_ModIni] 
  294. Number [AddVShare_ChkSec] := 0
  295. Text [AddVShare_FileName] := 
  296. Text [AddVShare_Ini] := 
  297. Text [AddVShare_Options] :=
  298. Number [AddVShare_Count] := 0
  299. Text [AddVShare_OText] :=
  300. Text [SRefCode_Disabled] :=
  301. Text [Bks_Disabled] :=
  302. Text [IDIR_BViews] := 
  303. Text [IDIR_Demo] := 
  304. Text [IDIR_Info] := 
  305. Text [IDIR_SDW] :=
  306. Text [Uni_Time] := 
  307. Text [Uni_NfoBase] := 
  308. Text [Uni_IconName] := 
  309. Text [Uni_Pid] := 
  310. Text [Uni_CC] := 
  311. Text [Uni_NfoDir] :=
  312. Text [Uni_SDWDir] :=
  313. Text [Uni_NfoPath] :=
  314. Text [Uni_SDWPath] :=
  315. Number [Uni_LNumber] := 0
  316. Text [Uni_PMGroup] := 
  317. Text [Uni_PMIcon] := 
  318. Text [Uni_SDWFile] := 
  319. Text [Uni_NFoFile] := 
  320. Number [Uni_Icons] := 0
  321. Text [Uni_NfoBaseID] := 
  322. Text [Uni_Properties] :=
  323. EndDefineVariables
  324. Procedure SetUp
  325. ;;***************************************************************************
  326. ;; SetUp - Intializes instalit windows/colors/Ques support files into ShadowDirectory
  327. ;;
  328. ;; HPI - Leading the world in installation technology
  329. ;; ** Windows / Windows NT / OS2 / DOS / Client Server **
  330. ;; From the HPI script library 10/01/95 - CNH
  331. ;; ---------------------------------------------------------------------------------------------------------------
  332. ;; Description: SetUp 
  333. ;; The main function of setup is to properly intialize the system
  334. ;; for script execution. This includes the loading of bitmaps into
  335. ;; the shadowdirectory. 
  336. ;;
  337. ;; Compatiability: SetUp
  338. ;; Windows, Win95, NT installers only ! 
  339. ;;
  340. ;; Calling Convention: SetUp
  341. ;; Do SetUp     
  342. ;;
  343. ;; Return Codes: SetUp
  344. ;; None
  345. ;;
  346. ;; Variables: SetUp
  347. ;; As Required
  348. ;;
  349. ;;***************************************************************************
  350.  
  351.  
  352. SetBackGroundColor 0 0 255 0 0 0
  353. SetReadOnlyInquiry Off 
  354. SetReplacementInquiry Off
  355. SetDefaultBitMap Off
  356. ShowWindow Maximize
  357.  
  358. SetMouseCursor Wait
  359.  
  360. ;; All installation support files and bitmaps to temp dir
  361. ;;
  362. :SetUp_QueFiles
  363.  
  364. QueFileGroup 10 to ShadowDirectory
  365.  
  366. :Check_Idd
  367. ;; Init vars from Cmdline parameters
  368. ;;
  369. ;; -P:Product name   ;; Info base file name
  370. ;; Must be last parameter on command line
  371. ;;
  372. [Number1] := PositionOf "-P:" In [System_CMDLine]
  373. If [Number1] > 0
  374.    [Number1] := [Number1] + 3
  375.    [String12] := SubStringOf [System_CMDLine] From [Number1] To End
  376.    [Number1] := PositionOf " " In [String12]
  377.    If [Number1] > 0 
  378.       DecrementNumber [Number1]
  379.       [String2] := SubStringOf [String12] From 1 To [Number1]
  380.      Else
  381.       [String2] := [String12]
  382.    EndIf
  383.    [String1] := [String2] ;; .NFO
  384.   Else
  385.    ;; Which product to Uninstall
  386.       Do NoProducts
  387.    ;; Returns [String1]
  388.    SetTokenDelimiterTo .
  389.    [String2] := Token 1 Of [String1]
  390.    [String1] := [String2]   ;;.NFO
  391. EndIf
  392.  
  393. [Uni_NfoBaseID] := [String1] ;; ELCNLW95.NFO
  394.  
  395. ;;;; Check for FreeSpaceOnDrive 
  396. ;;ClearArray [FSPChk_Dir]             ;; Clear old Array contents
  397. ;;[FSPChk_Dir][1]  := ShadowDirectory ;; Drive/Directory to check 
  398. ;;[FSPChk_Options] := BlankString     ;; <All> - Checks all drives for required freespace.
  399. ;;Do FSPChk                           ;; <BlankString> - Checks for required freespace on a specified drive.
  400. ;;
  401. ;;;; Return Codes: FSPChk
  402. ;;;; [FSPChk_Rc]         :=     ;; 0  = All drives have adequate free space available.
  403. ;;;;                            ;; >0 = Indicates one or more Drives/dirs required freespace.
  404. ;;;; [FSPChk_MsgList][X] :=     ;; TextArray of Drive/Dirs with insufficent freespace.
  405. ;;
  406. ;;Do FSPCErr
  407. ;;If [FSPCErr_Rc] = 300 
  408. ;;   Do ExitConfirm
  409. ;;EndIf
  410. ;;
  411. ;;If [FSPCErr_Rc] = 100
  412. ;;   UnQueAllFiles   
  413. ;;   Goto SetUp_QueFiles
  414. ;;EndIf
  415. ;;
  416. ;;:SetUp_ReadWrt
  417. ;;;; Calling Convention: ReadWrt
  418. ;;[ReadWrt_Dir][1]  := ShadowDirectory ;; Drive/Directory to check 
  419. ;;[ReadWrt_Options] := BlankString     ;; <BlankString> - Use if no option specified
  420. ;;                                     ;; <All> - Checks all known drives for Read/Write access
  421. ;;Do ReadWrt                           ;; Checks for required freespace on a specified drive.
  422. ;;
  423. ;;;; Return Codes:
  424. ;;;; [ReadWrt_Rc]         :=     ;; 0  = All drives have Read/Write access/or selected dir
  425. ;;;;                             ;; >0 = Indicates one or more Drives/dirs do not have read/write  
  426. ;;;; [ReadWrt_DirList][X] :=     ;; TextArray of Drive/Dirs not Read/Write
  427. ;;
  428. ;;Do ReadWrtErr
  429. ;;If [ReadWrtErr_Rc] = 300 
  430. ;;   Do ExitConfirm
  431. ;;EndIf
  432. ;;
  433. ;;If [ReadWrtErr_Rc] = 100
  434. ;;   Goto SetUp_ReadWrt
  435. ;;EndIf
  436.  
  437. GetQuedFiles Quietly
  438.  
  439. ;; Display splash bitmap
  440. ;;
  441. ;;LoadBitMap 15 ShadowDirectory\eman.Bmp eman1.Bmp
  442. ;;ShowBitMap 15 @xy(1,1)
  443. UpdateWindow
  444.  
  445. ;; Load dialog bitmap
  446. ;;
  447. ;;LoadBitMap 14 ShadowDirectory\elo.bmp
  448.  
  449. ;;ShowBitMap 14 @xy(1,1)
  450. ;;PopUp Hold...
  451.  
  452. SetBackGroundModeTo Transparent
  453. LoadBitMap 13 ShadowDirectory\OneM.Bmp
  454.  
  455.  
  456.  
  457. EndProcedure
  458. Procedure ByeBye
  459. ;;***************************************************************************
  460. ;;
  461. ;; Installation Exit Procedure
  462. ;;
  463. ;;***************************************************************************
  464. ;;Do ClearBmps
  465.  
  466. ClearScreen
  467. :Exit
  468.  
  469. [ByeBye_Desc] := '[Uni_NfoBase]' has been successfully uninstalled.
  470.  
  471. SetCompletionStatusTo Finished
  472.  
  473. DialogBox  @xy(center,center) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " UnInstall Complete " 
  474.   Font "MS Sans Serif" 8
  475.   LText @xy(83,7) 197 100 "[ByeBye_Desc]"
  476.   LText @xy(83,110) 197 30 "[ByeBye_Desc1]"
  477.   LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  478.   PushButton @xy(230,145) 45 15 "Finish" 200
  479.   Static @xy(8,140) 269 1 "" BlackRect
  480. EndDialogBox
  481.  
  482. SoLong Quietly
  483.  
  484.  
  485. EndProcedure
  486. Procedure ExitProcedure
  487.  
  488. ;;If FileIsInUse ShadowDirectory\ZClient.Dll 
  489. ;;   CallDll [Dll1] Terminate() Returns short [Call_Rc]
  490. ;;   UnLoadDll [Dll1]
  491. ;;EndIf
  492.  
  493. DeleteFiles from ShadowDirectory Quietly
  494. Default.Bmp
  495. elo.bmp
  496. EMan.Bmp
  497. EMan1.Bmp
  498. LName.Ini
  499. OneM.Bmp
  500. School.Dat
  501. School.Idx
  502. STRef.Txt
  503. Uni1.Bmp
  504. ZCLient.DLL
  505. [Product_File].IDD
  506. EndDeleteFiles
  507.  
  508.  
  509. EndProcedure
  510. Procedure OnLine
  511. :Retry
  512. ;;[Uni_Time] := SettingFor Time 
  513. ;;[Uni_NfoBase] := SettingFor NfoBase
  514. ;;[Uni_IconName] := SettingFor IconName 
  515. ;;[Uni_Pid] := SettingFor Pid
  516. ;;[Uni_CC] := SettingFor CC   ;;Newton Hudson
  517.  
  518. [String1] := "SystemTime SystemDate"
  519. SetProductClassTo "[String1]"  ;; required
  520. [Str1] := InstanceCode
  521. [String2] := Uninstall Code: [Str1]
  522.  
  523. DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader "Uninstall Verification Code" SysMenu 
  524.  Font "MS Sans Serif" 8
  525.  LText @xy(75,7) 195 40 "To receive a refund, you will need to call 1-800-EMANUEL. We will ask you for your uninstaller code, which is unique to your installation of the product. Have your uninstaller code ready as shown below, as well as the date you purchased the product."
  526.  LText @xy(95,85) 150 20 "[String2]"
  527.  LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  528.  PushButton OnLine_Next @xy(230,145) 45 15 "Next >" 200
  529.  Static @xy(8,140) 269 1 "" BlackRect
  530. EndDialogBox
  531.  
  532.  
  533. AppendFile [InstallFromDirectory]\UnInstal.Log
  534. [Uni_NfoBaseID]=Uninstalled SYstemDate SystemTime using uninstall code [Str1]
  535. EndAppendFile
  536.  
  537.  
  538.  
  539. EndProcedure
  540. Procedure InstallCheck
  541. ;; Check directories and make sure uninstall
  542. ;; in valid.
  543. ;;
  544. ;;Time=20:59:56
  545. ;;NfoBase=Emanuel on Contracts
  546. ;;IconName=Emanuel Law Outlines,ELO Contracts
  547. ;;Pid=003-0004-2-F96A
  548. ;;CC=527C
  549. ;;CopyFiles From [InstallFromDirectory] To [WindowsDirectory] Quietly
  550. ;; LName.Ini
  551. ;;EndCopyFiles
  552. ;;ExamineTextFile [InstallFromDirectory]\UnInstal.Txt
  553. ;;[Uni_NfoBase] := SettingFor NfoBase
  554. ;;[Uni_IconName] := SettingFor IconName 
  555. ;;ForgetTextFile
  556.  
  557. ;;[ELCNLW95.NFO]
  558. ;;Properties=Emanuel on Constitutional Law,Emanuel Law Outlines,Emanuel on Constitutional Law
  559.  
  560. [Array10][1] := [Uni_NfoBaseID]
  561. [Array10][2] := Properties
  562. [Array10][3] := NFD
  563. [Array10][4] := [WindowsDirectory]\LName.Ini
  564. GetPrivateProfileString Using [Array10]
  565. [Uni_Properties] := [Array10][5] 
  566.  
  567. SetTokenDelimiterTo ,
  568.  
  569. [Uni_NfoBase]  := Token 1 Of [Uni_Properties]
  570. [Uni_PMGroup]  := Token 2 Of [Uni_Properties] 
  571. [Uni_PMIcon]   := Token 3 Of [Uni_Properties] 
  572.  
  573. ;;Dialog
  574. ;;1)[Uni_NfoBase]  
  575. ;;2)[Uni_PMGroup] 
  576. ;;3)[Uni_PMIcon]  
  577. ;;EndDialog
  578.  
  579. ShowBitMap 13 @xy(Center,Center)
  580. Delay 1
  581. TextOut @xy(Center,Center) Uninstalling ...
  582.  
  583. ;; Find if Lname.Ini file exists
  584. ;; ******************************************
  585. ;;
  586.  
  587.  
  588. ;; Check for Lname.Ini file being Readonly
  589. ;; ******************************************
  590. ;;
  591. [String1] := FileAttrOf [WindowsDirectory]\LName.Ini
  592. [String2] := SubStringOf [String1] From 7 to 8
  593. If [String2] <> 00
  594.    SetFileAttrTo 00 For [WindowsDirectory]\LName.Ini
  595. EndIf
  596.  
  597. ;; Get Lname.ini file settings
  598. ;; ******************************************
  599. ;;
  600. [Array10][1] := Infobase Directory
  601. [Array10][2] := [Uni_NfoBase]
  602. [Array10][3] := NFD
  603. [Array10][4] := [WindowsDirectory]\LName.Ini
  604. GetPrivateProfileString Using [Array10]
  605. [Uni_SDWDir] := [Array10][5] 
  606.  
  607. [Array10][1] := Master Infobase Directory
  608. [Array10][2] := [Uni_NfoBase] - Master
  609. [Array10][3] := NFD
  610. [Array10][4] := [WindowsDirectory]\LName.Ini
  611. GetPrivateProfileString Using [Array10]
  612. [Uni_NfoDir] := [Array10][5] 
  613.  
  614. [Uni_SDWPath] := PathNameOf [Uni_SDWDir]
  615. [Uni_SDWFile] := FileNameOf [Uni_SDWDir]
  616.  
  617. [Uni_NfoPath] := PathNameOf [Uni_NfoDir]
  618. [Uni_NFoFile] := FileNameOf [Uni_NfoDir]
  619.  
  620. :Uni_LNameNfo
  621. ;; Remove LName.Ini file settings
  622. ;; ******************************************
  623. ;;
  624.  
  625. ExamineTextFile [WindowsDirectory]\LName.Ini
  626.   [Uni_LNumber] := LineNumberWith ([Uni_NfoBase],=,[Uni_NfoDir])
  627. ForgetTextFile
  628.  
  629. If [Uni_LNumber] > 0
  630.    ModifyTextFile [WindowsDirectory]\LName.Ini NoBackUp
  631.      DeleteLine [Uni_LNumber]
  632.    EndModifyTextFile
  633.    Goto Uni_LNameNfo
  634. EndIf
  635.  
  636. :Uni_LNameSdw
  637. ExamineTextFile [WindowsDirectory]\LName.Ini
  638.   [Uni_LNumber] := LineNumberWith ([Uni_NfoBase],=,[Uni_SDWDir])
  639. ForgetTextFile
  640.  
  641. If [Uni_LNumber] > 0
  642.    ModifyTextFile [WindowsDirectory]\LName.Ini NoBackUp
  643.      DeleteLine [Uni_LNumber]
  644.    EndModifyTextFile
  645.    Goto Uni_LNameSdw
  646. EndIf
  647.  
  648. ;;PopUp DeleteSection [[Uni_NfoBaseID]]
  649.  
  650. ModifyTextFile [WindowsDirectory]\LName.Ini NoBackUp
  651.   DeleteSection [[Uni_NfoBaseID]]
  652. EndModifyTextFile
  653.  
  654. ;; Remove icon and program group 
  655. ;; ******************************************
  656. ;;
  657. SetTokenDelimiterTo ,
  658.  
  659. [Array3] := GetProgramManagerGroupInfo [Uni_PMGroup]
  660. [Uni_Icons] := LastIndexUsedFor [Array3]
  661.  
  662. If [Uni_Icons] > 0
  663.    ProgramManagerDDE
  664.      CreateGroup([Uni_PMGroup])
  665.      DeleteItem([Uni_PMIcon])
  666.      DeleteItem([Uni_PMIcon] - Uninstall)
  667.    EndProgramManagerDDe
  668. EndIf
  669.  
  670. [Array3] := GetProgramManagerGroupInfo [Uni_PMGroup]
  671. [Uni_Icons] := LastIndexUsedFor [Array3]
  672.  
  673. ;;PopUp Icons=[Uni_Icons]
  674.  
  675. If [Uni_Icons] = 0
  676.    ProgramManagerDDE
  677.      DeleteGroup([Uni_PMGroup])
  678.    EndProgramManagerDDe
  679.   Else
  680.    ProgramManagerDDE
  681.      CreateGroup([IICons_Group])
  682.      ShowGroup([IICons_Group],2)
  683.    EndProgramManagerDDe
  684. EndIf
  685.  
  686. ;; Delete files
  687. ;; ******************************************
  688. ;;
  689.  
  690. If [Uni_NFOPATH] <> BlankString
  691.   If DirectoryAllowable [Uni_NFOPATH]
  692.         ;; do nothing
  693.   else
  694.      [Uni_NFOPATH] := [InstallFromDirectory]
  695.   EndIf
  696. else
  697.      [Uni_NFOPATH] := [InstallFromDirectory]
  698. Endif
  699.  
  700. If [Uni_SDWPATH] <> BlankString
  701.   if DirectoryAllowable [Uni_SDWPath]
  702.        ;; do nothing
  703.   else
  704.      [Uni_SDWPATH] := [InstallFromDirectory]
  705.   EndIf
  706. else
  707.      [Uni_SDWPATH] := [InstallFromDirectory]
  708. Endif
  709.  
  710. DeleteFiles From [Uni_NFOPath] Quietly
  711.   [Uni_NFoFile].NFO
  712.   [Uni_NFoFile].LDF
  713. EndDeleteFiles
  714. DeleteFiles From [Uni_SDWPath] Quietly
  715.   [Uni_SDWFile].SDW
  716. EndDeleteFiles
  717.  
  718. HideBitMap 13
  719. ClearScreen
  720. EndProcedure
  721. Procedure DDENonFatalErrorTrap
  722. ;; Dummy procedure, do not delete
  723. EndProcedure
  724. Procedure StrCheck
  725. ;;[StrCheck_String] := 
  726. ;;[StrCheck_Valid]  := "ABCDEFGHIJKLMNOPQRSTU"
  727. ;;[StrCheck_Mask]   := BlankString
  728. ;;[StrCheck_Rc]     := 0
  729.  
  730. ;; AlphaOnly Check
  731. [StrCheck_Len] := LengthOf [StrCheck_String]
  732. [StrCheck_Cnt] := 0
  733. While [StrCheck_Cnt] < [StrCheck_Len]
  734.   IncrementNumber [StrCheck_Cnt]
  735.   [StrCheck_Char] := SubStringOf [StrCheck_String] From [StrCheck_Cnt] to [StrCheck_Cnt]
  736.   [StrCheck_Chk]  := PositionOf [StrCheck_Char] In [StrCheck_Valid]
  737.   If [StrCheck_Chk] = 0
  738.      [StrCheck_Rc] := 1
  739.      Exit
  740.   EndIf
  741. EndWhile
  742. EndProcedure
  743. Procedure OnLine_Check
  744.  
  745. If AccessCodeIsValid [Str2]
  746.    [RC4Key1] := AccessCode [Str2]
  747.    [String10] := CRCOfString [String1][Str1]
  748.    PopUp Response Code=[String10]
  749.    Exit DismissDialog
  750. EndIf
  751.  
  752. Beep
  753. Beep
  754.  
  755. EndProcedure
  756. Procedure SrReadme
  757. ;;BrowseFile [InstallFromDirectory]\StRef.Txt
  758.  
  759. [Array1] := ShadowDirectory\StRef.Txt
  760. [String1] := BlankString
  761.  
  762. ;; Prompt user for new program group name
  763. DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader "Student Referrer Additional Information"
  764.       Font "MS Sans Serif" 8
  765.       Static @xy(8,140) 269 1 "" BlackRect
  766.       PushButton @xy(180,145) 45 15 "Next >" 200
  767.       PushButton @xy(136,145) 45 15 "< &Back" 100
  768.       PushButton C_Button ProcIs ExitConFirm @xy(232,145)  45 15 "Cancel" 300
  769.       LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  770.       ListBox @xy(84,8) 191 125 Uses [String1] LoadWith [Array1] Border AutoHScroll
  771. EndDialogBox
  772.  
  773. If [Dialog_Rc] = 300
  774.    Do ExitConfirm
  775. EndIf
  776. EndProcedure
  777. Procedure ExitConfirm
  778. ;;If CompletionStatus <> Finished
  779. [Number25] := RGB(0,0,0)           ;;custom foreground color
  780. [Number26] := RGB(192,192,192)     ;;custom background color
  781.  
  782.    DialogBox ExitProcDialog @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader "Exit Confirmation"
  783.       Font "MS Sans Serif" 8
  784.       LText @xy(81,7)  191 50 "You have chosen to exit the Emanuel Electronic Format Uninstall program. The title you have chosen has NOT been Uninstalled successfully. You must run the uninstaller to receive your refund."
  785.       LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  786.       PushButton @xy(180,145) 45 15 "Next >" 200 Disabled
  787.       PushButton @xy(135,145) 45 15 "< &Back" 100 
  788.       PushButton @xy(232,145) 45 15 "Exit" 300
  789.       Static @xy(8,140) 269 1 "" BlackRect
  790.    EndDialogBox
  791.  
  792.    If [Dialog_Rc] = 300
  793.       Solong Quietly
  794.    EndIf
  795.  
  796.    Exit
  797.  
  798. ;;EndIf
  799.  
  800. EndProcedure
  801. Procedure NoProducts
  802. :NoProd_test
  803. SetTokenDelimiterTo ,
  804. [String11] := Uninstall Product Selection ;;- ([Product_File])
  805.  
  806. [String10] := BlankString
  807. [String1]  := Please select the product to uninstall from the product list below.
  808. ;;The specified product to uninstall is invalid. The product as specified via -P: is invalid. To Uninstall an NFO base product you must do so by selecting from the product list below, or via the command line using -P:{filename_below_with_no_file_extension}.
  809. [Array2]   := GetFileNames [InstallFromDirectory]\*.NFO
  810.  
  811. DialogBox  @xy(center,80) 284 165 Returns [Dialog_Rc] BlackOnLightGray UseHeader "[String11]" SysMenu
  812.       Font "MS Sans Serif" 8
  813.       Static @xy(8,140) 269 1 "" BlackRect
  814.       PushButton @xy(180,145) 45 15 "Next >" 200 
  815.       PushButton @xy(136,145) 45 15 "< &Back" 100 Disabled
  816.       PushButton C_Button ProcIs ExitConFirm @xy(232,145)  45 15 "Cancel" 300
  817.       LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  818.       LText @xy(84,7) 189 70 "[String1]"
  819.       LText @xy(84,52) 59 12 "Uninstall List:"
  820.    ComboBox @xy(84,62) 191 70 Uses [String10] LoadWith [Array2] Border Sort
  821. EndDialogBox
  822.  
  823. If [Dialog_Rc] = 300
  824.    Do ExitConfirm
  825. EndIf
  826.  
  827. If [Dialog_Rc] = 200
  828.    If [String10] = BlankString
  829.       Goto NoProd_test
  830.    EndIf       
  831.    [Cat_Select] := BlankString
  832.    [String1] := [String10]
  833. EndIf
  834.  
  835. EndProcedure
  836. ;;*******************************************************************************************
  837. ;; HPI
  838. ;; 600 Boulevard South, Suite 305
  839. ;; Huntsville Al,  35802
  840. ;;
  841. ;; HPI is the solution provider for the installation industry.
  842. ;;  * * * 
  843. ;;
  844. ;;*****************************************************************************************
  845. ;; Init System variables
  846. ;;
  847. [System_StartTime] := SystemTime
  848. [System_TempDir]   := ShadowDirectory
  849. [System_CMDLine] := [CommandLine0] [CommandLine1] [CommandLine2] [CommandLine3] [CommandLine4]
  850.  
  851. ;; Init vars from Cmdline parameters
  852. ;;
  853. ;; -P:Product name
  854. ;; 
  855.  
  856. ;; Init Installation
  857. ;;
  858. Do Setup         ;; SetUp Screen Displays and Colors
  859.  
  860. ;; Display main dialog
  861. ;;
  862.  
  863. :MainMenu
  864. [Number25] := RGB(0,0,0)           ;;custom foreground color
  865. [Number26] := RGB(192,192,192)     ;;custom background color
  866.  
  867. DialogBox WelcomeDialog @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader "Uninstall Emanuel Electronic Format"
  868.   Font "MS Sans Serif" 8
  869.   LText @xy(81,7)  191 50 "You have chosen to uninstall an Emanuel Electronic Format title."
  870.   LText @xy(81,52) 191 35 "This uninstaller will remove all files related to this Emanuel Electronic Format title from your hard disk."
  871.   LText @xy(81,100) 191 20 "Click 'Next' to begin the uninstall process."
  872.   LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  873.   PushButton @xy(180,145) 45 15 "Next >" 200
  874.   PushButton @xy(135,145) 45 15 "< &Back" 100 Disabled
  875.   PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  876.   Static @xy(8,140) 269 1 "" BlackRect
  877. EndDialogBox
  878.  
  879. ;; Let user select type of unistall
  880. ;; ********************************
  881. ;;
  882. [Dialog_RcMain] := 2
  883. DialogBox  @xy(center,80) 284 165 Returns  [Dialog_Rc] BlackOnLightGray UseHeader " Select Uninstall Type " 
  884.   Font "MS Sans Serif" 8
  885.   LText @xy(18,7) 255 23 "Select from the following and click 'Next' to continue (to cancel the uninstall process, click 'Cancel.')"
  886.   LText @xy(145,32) 130 50 "(If the 30-day money back guarantee has expired, use this option to remove the installed product from your system.)"
  887.   LText @xy(145,63) 130 50 "(If you are uninstalling this product within 30 days of purchase, use this option. The software will display an uninstall code, with which you can receive a full refund of the purchase price.)"
  888.   LText @xy(20,114) 255 50 "NOTE: Either choice will PERMANENTLY remove the files from your hard drive; to re-install the software, you will need to go through the original install process again. To cancel the uninstall process, click 'Cancel'."
  889.   LText @xy(8,145) 120 16 "⌐ 1996 Emanuel Law Outlines, Inc."
  890.   PushButton @xy(180,145) 45 15 "Next >" 200
  891.   PushButton @xy(135,145) 45 15 "< &Back" 100
  892.   PushButton C_Button ProcIs ExitConfirm @xy(232,145) 45 15 "Cancel" 300
  893.   Static @xy(8,140) 269 1 "" BlackRect
  894.  
  895.   RadioButtonGroup Uses [Dialog_RcMain]
  896.   RadioButton @xy(18,32) 120 10 "Product Uninstall Without Refund"
  897.   RadioButton @xy(18,63) 120 10 "Product Uninstall With Refund"
  898. EndDialogBox
  899.  
  900.  
  901. :UnInstall_Type
  902. if [Dialog_Rc] = 200
  903.    Do InstallCheck          ;; Check Directories
  904.    If [Dialog_RcMain] = 2
  905.       Do Online
  906.    EndIf
  907. Else
  908.    goto MainMenu
  909. EndIf
  910.  
  911. ;; Installation complete, display exit screen
  912. ;;
  913. Do ByeBye
  914.  
  915. EndScript
  916.  
  917.